﻿using FluentNHibernate.Mapping;

namespace Neturion.Dados
{
    public class MapSistema : ClassMap<Sistema>
    {
        public MapSistema()
        {
            Table("sistemas");
            Id(x => x.SistemaId);
            Map(x => x.Codigo).Length(15).Unique().Index("idx_Codigo");
            Map(x => x.Descricao);
            Map(x => x.Email);
            Map(x => x.Senha);
            Map(x => x.Porta);
            Map(x => x.ProtocoloEnvio);
            Map(x => x.ProtocoloRecebimento);
            References(x => x.Empresa).Not.LazyLoad();
            HasMany<SistemaPerfil>(x => x.ListaSistemaPerfil).Not.LazyLoad().Cascade.All();
            HasManyToMany<Tela>(x => x.ListaTela)
                .Table("sistemastelas")
                .ParentKeyColumn("SistemaId")
                .ChildKeyColumn("TelaId")
                .Not.LazyLoad();
        }
    }
}